import request from '@/utils/request'

// 查询积分流水列表
export function listFlow(query) {
  return request({
    url: '/point/flow/list',
    method: 'get',
    params: query
  })
}

// 查询积分流水详细
export function getFlow(id) {
  return request({
    url: '/point/flow/' + id,
    method: 'get'
  })
}

// 新增积分流水
export function addFlow(data) {
  return request({
    url: '/point/flow',
    method: 'post',
    data: data
  })
}

// 修改积分流水
export function updateFlow(data) {
  return request({
    url: '/point/flow',
    method: 'put',
    data: data
  })
}

// 删除积分流水
export function delFlow(id) {
  return request({
    url: '/point/flow/' + id,
    method: 'delete'
  })
}

// 查询积分流水完整信息列表（多表联查）
export function listFlowComplete(query) {
  return request({
    url: '/point/flow/complete-list-optimized',
    method: 'get',
    params: query
  })
}

// 查询用户积分流水完整信息
export function getUserFlowComplete(userId) {
  return request({
    url: '/point/flow/complete-info/' + userId,
    method: 'get'
  })
}

// 根据积分流水ID查询完整信息
export function getFlowCompleteDetail(id) {
  return request({
    url: '/point/flow/complete-detail/' + id,
    method: 'get'
  })
}

// 根据积分规则类型查询相关流水
export function getFlowByRuleType(ruleType) {
  return request({
    url: '/point/flow/by-rule-type/' + ruleType,
    method: 'get'
  })
}

// 查询积分流水基础信息列表（最简化版本）
export function listFlowBasic(query) {
  return request({
    url: '/point/flow/basic-list',
    method: 'get',
    params: query
  })
}

// 查询积分流水完整信息列表（优化版本）
export function listFlowOptimized(query) {
  return request({
    url: '/point/flow/complete-list-optimized',
    method: 'get',
    params: query
  })
}
